home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1988-11-30 | 4.8 KB | 186 lines |
- 10 REM
- 20 REM AUTHOR - JIM BRACKING
- 30 REM DATE - 11/27/83
- 40 REM DISCRIPTION - SELECT A FOREGROUND,BACKGROUNG AND BORDER COLOR
- 50 REM AND CREATE A DEBUG SCRIPT FOR MODIFING THE "CLS"
- 60 REM COMMAND IN COMMAND.COM TO USE THESE COLORS.
- 70 REM
- 80 FOR I=0 TO 3:SCREEN 0,,I,I:CLS:NEXT I
- 90 KEY OFF:FOR I=1 TO 10
- 100 KEY I,""
- 110 NEXT I
- 120 SCREEN 0,,2,2:COLOR 7,0,0:CLS:KEY OFF
- 130 COLOR 7,0,0
- 140 CLS
- 150 DIM CTBL$(16)
- 160 CTBL$(0)="BLACK "
- 170 CTBL$(1)="BLUE "
- 180 CTBL$(2)="GREEN "
- 190 CTBL$(3)="CYAN "
- 200 CTBL$(4)="RED "
- 210 CTBL$(5)="PURPLE"
- 220 CTBL$(6)="BROWN "
- 230 CTBL$(7)="WHITE "
- 240 CTBL$(8)="GRAY "
- 250 CTBL$(9)="LT BLU"
- 260 CTBL$(10)="LT GRN"
- 270 CTBL$(11)="L CYAN"
- 280 CTBL$(12)="LT RED"
- 290 CTBL$(13)="VIOLET"
- 300 CTBL$(14)="YELLOW"
- 310 CTBL$(15)="HI WTE"
- 320 TITLE$="C O L O R S E L E C T I O N"
- 330 ROW=1:GOSUB 1630
- 340 TITLE$="BACKGROUND COLOR"
- 350 ROW=3:GOSUB 1630
- 360 COL=12
- 370 FOR BG=0 TO 7
- 380 LOCATE 4,COL+1
- 390 IF BG=0 THEN COLOR 15 ELSE COLOR BG
- 400 PRINT CTBL$(BG);
- 410 COL=COL+8
- 420 NEXT BG
- 430 ROW=6:COL=1:TITLE$="FOREGROUND COLOR"
- 440 GOSUB 1750
- 450 FOR FG=0 TO 15
- 460 ROW=FG+6:COL=4
- 470 LOCATE ROW,COL
- 480 C=FG:IF C=0 THEN C=15
- 490 COLOR C,0
- 500 PRINT CTBL$(FG);
- 510 COL=COL+8
- 520 FOR BG=0 TO 7
- 530 C=BG
- 540 LOCATE ROW,COL
- 550 COLOR FG,BG
- 560 PRINT CTBL$(FG);
- 570 COL=COL+8
- 580 NEXT BG
- 590 NEXT FG
- 600 COLOR ,,0
- 610 COLOR 7,0,0:LOCATE 23,27
- 620 PRINT "PRESS THE F1 KEY FOR HELP"
- 630 SCREEN 0,,1,2:COLOR 7,0,0:CLS:KEY OFF
- 640 LOCATE 2,10:PRINT "FROM THE MAIN SCREEN"
- 650 LOCATE 3,18:PRINT " F1 - HELP SCREEN"
- 660 LOCATE 4,18:PRINT " F10 - CREATE DEBUG UPDATE FILE USING THE"
- 670 LOCATE 5,18:PRINT " CURRENT COLORS AND EXIT"
- 680 LOCATE 6,18:PRINT " PGUP - INCREMENT THE BORDER COLOR"
- 690 LOCATE 7,18:PRINT " PGDN - DECREMENT THE BORDER COLOR"
- 700 LOCATE 8,18:PRINT " ENTER - WILL DISPLAY A SAMPLE SCREEN WITH"
- 710 LOCATE 9,18:PRINT " THE SELECTED COLORS"
- 720 LOCATE 11,10:PRINT "FROM THE TEXT SCREEN"
- 730 LOCATE 12,18:PRINT " ESC - RETURN TO MAIN SCREEN"
- 740 LOCATE 13,18:PRINT " PGDN - INCREMENT THE BORDER COLOR"
- 750 LOCATE 14,18:PRINT " PGDN - DECREMENT THE BORDER COLOR"
- 760 LOCATE 16,10:PRINT "FROM THE HELP SCREEN"
- 770 LOCATE 17,18:PRINT " ESC - RETURN TO MAIN SCREEN"
- 780 SCREEN 0,,2,2
- 790 RPOS=0:CPOS=0:LOCATE RPOS+6,(CPOS*8)+11,1:BD=0
- 800 LOCATE ,,1,6,8
- 810 GOTO 1070
- 820 XKEY$=INKEY$:IF XKEY$="" THEN GOTO 820
- 830 IF ASC(XKEY$)=13 THEN GOTO 1170
- 840 IF LEN(XKEY$)<>2 THEN GOTO 930 'BAD KEY
- 850 IF ASC(MID$(XKEY$,2,1))=59 THEN GOTO 940
- 860 IF ASC(MID$(XKEY$,2,1))=68 THEN GOTO 1500
- 870 IF ASC(MID$(XKEY$,2,1))=73 THEN GOTO 1030
- 880 IF ASC(MID$(XKEY$,2,1))=81 THEN GOTO 1050
- 890 IF ASC(MID$(XKEY$,2,1))=72 THEN GOTO 980
- 900 IF ASC(MID$(XKEY$,2,1))=80 THEN GOTO 990
- 910 IF ASC(MID$(XKEY$,2,1))=75 THEN GOTO 1000
- 920 IF ASC(MID$(XKEY$,2,1))=77 THEN GOTO 1010
- 930 SOUND 100,6:GOTO 820
- 940 LOCATE ,,0:SCREEN 0,,1,1
- 950 XKEY$=INKEY$:IF XKEY$="" THEN GOTO 950
- 960 IF ASC(XKEY$)<>27 THEN GOTO 950
- 970 SCREEN 0,,2,2:GOTO 1070
- 980 IF RPOS=0 THEN GOTO 930 ELSE RPOS=RPOS-1:GOTO 1070
- 990 IF RPOS=15 THEN GOTO 930 ELSE RPOS=RPOS+1:GOTO 1070
- 1000 IF CPOS=0 THEN GOTO 930 ELSE CPOS=CPOS-1:GOTO 1070
- 1010 IF CPOS=7 THEN GOTO 930 ELSE CPOS=CPOS+1:GOTO 1070
- 1020 LOCATE RPOS+6,(CPOS*8)+11,1:GOTO 820
- 1030 BD=BD+1:IF BD>15 THEN BD=0
- 1040 COLOR ,,BD:GOTO 1070
- 1050 BD=BD-1:IF BD<0 THEN BD=15
- 1060 COLOR ,,BD
- 1070 CBD=BD:CFG=RPOS:CBG=CPOS
- 1080 LOCATE 25,33:COLOR 15,0
- 1090 PRINT "COLOR ";
- 1100 IF CFG<10 THEN PRINT USING "#";CFG; ELSE PRINT USING "##";CFG;
- 1110 PRINT ",";
- 1120 IF CBG<10 THEN PRINT USING "#";CBG; ELSE PRINT USING "##";CBG;
- 1130 PRINT ",";
- 1140 IF CBD<10 THEN PRINT USING "#";CBD; ELSE PRINT USING "##";CBD;
- 1150 PRINT " ";
- 1160 GOTO 1020
- 1170 SCREEN 0,,3,3
- 1180 COLOR CFG,CBG,CBD:CLS
- 1190 LOCATE 1,1
- 1200 PRINT " ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- 1210 PRINT " abcdefghijklmnopqrstuvwxyz"
- 1220 PRINT " 0123456789!@#$%^&*()_+}{:~"
- 1230 PRINT " \,./;'`[]-="
- 1240 PRINT " NOW YOU CAN ENTER SOMETHING. PRESS THE ESCAPE KEY TO RETURN"
- 1250 LOCATE 25,33
- 1260 PRINT "COLOR ";
- 1270 IF CFG<10 THEN PRINT USING "#";CFG; ELSE PRINT USING "##";CFG;
- 1280 PRINT ",";
- 1290 IF CBG<10 THEN PRINT USING "#";CBG; ELSE PRINT USING "##";CBG;
- 1300 PRINT ",";
- 1310 IF CBD<10 THEN PRINT USING "#";CBD; ELSE PRINT USING "##";CBD;
- 1320 PRINT " ";
- 1330 XXROW=7:XXCOL=1:LOCATE XXROW,XXCOL,1,6,7
- 1340 XKEY$=INKEY$:IF XKEY$="" THEN GOTO 1340
- 1350 IF LEN(XKEY$)<>2 THEN GOTO 1380
- 1360 IF ASC(MID$(XKEY$,2,1))=73 THEN GOTO 1460
- 1370 IF ASC(MID$(XKEY$,2,1))=81 THEN GOTO 1480
- 1380 IF ASC(XKEY$)=13 THEN XXCOL=1:GOTO 1430
- 1390 IF ASC(XKEY$)=27 THEN SCREEN 0,,2,2:LOCATE ,,1,6,8:GOTO 1020
- 1400 PRINT XKEY$;
- 1410 XXCOL=XXCOL+1
- 1420 IF XXCOL>80 THEN XXCOL=1 ELSE GOTO 1340
- 1430 XXROW=XXROW+1
- 1440 IF XXROW<24 THEN LOCATE XXROW,XXCOL,1:GOTO 1340
- 1450 PRINT " ":XXROW=24:XXCOL=1:GOTO 1340
- 1460 BD=BD+1:IF BD>15 THEN BD=0
- 1470 CBD=BD:COLOR ,,CBD:GOTO 1250
- 1480 BD=BD-1:IF BD<0 THEN BD=15
- 1490 CBD=BD:COLOR ,,CBD:GOTO 1250
- 1500 OPEN "DEBUG.TXT" FOR OUTPUT AS #1
- 1510 PRINT #1,"A 2331"
- 1520 PRINT #1,"MOV AL,";HEX$(CBD)
- 1530 PRINT #1,"MOV DX,03D9"
- 1540 PRINT #1,"OUT DX,AL"
- 1550 PRINT #1,""
- 1560 PRINT #1,"A 2345"
- 1570 PRINT #1,"MOV BH,";HEX$((CBG*16)+CFG)
- 1580 PRINT #1,""
- 1590 PRINT #1,"W"
- 1600 PRINT #1,"Q"
- 1610 CLOSE #1
- 1620 SCREEN 0,,0,0:COLOR 7,0,0:CLS:LOCATE ,,1,6,7:SYSTEM
- 1630 L=LEN(TITLE$)
- 1640 COL=(80-L)/2:C=1
- 1650 FOR II=1 TO L
- 1660 LOCATE ROW,COL
- 1670 IF MID$(TITLE$,II,1)=" " THEN GOTO 1720
- 1680 COLOR C
- 1690 PRINT MID$(TITLE$,II,1);
- 1700 C=C+1:IF C=16 THEN C=1
- 1710 IF C=8 THEN C=9
- 1720 COL=COL+1
- 1730 NEXT II
- 1740 RETURN
- 1750 L=LEN(TITLE$)
- 1760 FOR II=1 TO L
- 1770 LOCATE ROW,COL
- 1780 IF MID$(TITLE$,II,1)=" " THEN GOTO 1830
- 1790 COLOR C
- 1800 PRINT MID$(TITLE$,II,1);
- 1810 C=C+1:IF C=16 THEN C=1
- 1820 IF C=8 THEN C=9
- 1830 ROW=ROW+1
- 1840 NEXT II
- 1850 RETURN
-